import { hangxianServer } from '@/api'
import { useAirStore } from '@/stores'
import _turf from '@/utils/turfUtil'
import { hx } from './hx'
export async function hangxianInit() {
  __g.camera.set([530410.288125, 2490255.396562, 10993.4025, -47.395252, -97.704369, -0.000003], 1)
  __g.weather.setCloudDensity(0)
  addhangxian()
}
//添加航路航线 1-文旅观光 2-载人通勤 3-物流航线 4-政务巡检 5-飞行验证
export async function addhangxian(type) {
  const colors = {
    1: '#FAFB70',
    2: '#ec6bff',
    3: '#00cc66',
    4: '#D3D3D3',
    5: '#ffc0cb'
  }
  // const { data } = await hangxianServer()

  const airStore = useAirStore()
  airStore.hangxianList = hx
  let pArr = []
  hx.forEach((item, index) => {
    let line = item.naviLine.split('_')
    let lineArr = []
    line.forEach((item02) => {
      let coord = item02.split(',')
      let coordinates = _turf.transform([Number(coord[0]), Number(coord[1])])
      let newcoordinates = [Number(coordinates[0]), Number(coordinates[1]), Number(coord[2]) || 300]
      lineArr.push(newcoordinates)
    })
    let l = {}
    if (item.airspaceType == 3) {
      l = {
        id: 'hangxian' + index, //折线唯一标识id
        groupId: 'hangxian-' + item.airspaceType,
        coordinates: lineArr, //构成折线的坐标点数组
        coordinateType: 0, //坐标系类型，取值范围：0为Projection类型，1为WGS84类型，2为火星坐标系(GCJ02)，3为百度坐标系(BD09)，默认值：0
        range: [1, 10000000], //可视范围：[近裁距离, 远裁距离]，取值范围: [任意负值, 任意正值]
        thickness: 250, //折线宽度
        material: '/JC_CustomAssets/PolylineLibrary/Exhibition/混合线_5', //自定义材质路径 设置后style相关参数会失效
        scalarParameters: [
          { name: '亮度1', value: 1 },
          { name: '速度', value: 0.1 },
          { name: 'U缩放', value: 1 },
          { name: 'V缩放', value: 400 }
        ], //材质数值类型参数
        vectorParameters: [
          { name: '颜色1', value: [0, 204 / 255, 102 / 255, 0.5] },
          { name: '颜色2', value: [0, 204 / 255, 102 / 255, 0.5] }
        ], //材质数组类型参数
        intensity: 0.3,
        color: colors[item.airspaceType],
        shape: 1, //折线类型 0：直线， 1：曲线  注意：设置为曲线非常影响添加效率
        depthTest: false, //是否做深度检测 开启后会被地形高度遮挡
        style: 0, //折线样式 参考样式枚举：PolylineStyle
        tiling: 0, //材质贴图平铺比例
        userData: item.userData ? item.userData : JSON.stringify(item)
      }
    } else {
      l = {
        id: 'hangxian' + index, //折线唯一标识id
        groupId: 'hangxian-' + item.airspaceType,
        coordinates: lineArr, //构成折线的坐标点数组
        coordinateType: 0, //坐标系类型，取值范围：0为Projection类型，1为WGS84类型，2为火星坐标系(GCJ02)，3为百度坐标系(BD09)，默认值：0
        range: [1, 10000000], //可视范围：[近裁距离, 远裁距离]，取值范围: [任意负值, 任意正值]
        thickness: item.airspaceType == 1 || item.airspaceType == 4 ? 200 : 50, //折线宽度
        intensity: 2,
        color: colors[item.airspaceType],
        shape: 1, //折线类型 0：直线， 1：曲线  注意：设置为曲线非常影响添加效率
        depthTest: false, //是否做深度检测 开启后会被地形高度遮挡
        style: item.airspaceType == 1 || item.airspaceType == 4 ? 6 : 4, //折线样式 参考样式枚举：PolylineStyle
        tiling: 0, //材质贴图平铺比例
        userData: item.userData ? item.userData : JSON.stringify(item)
      }
    }
    pArr.push(l)
  })

  pArr.push(
    {
      id: 'hangxian' + 13, //折线唯一标识id
      lineType: '文旅观光',
      groupId: 'hangxian-1',
      coordinates: [
        [532104.267188, 2500421.967188, 0],
        [532104.267188, 2500421.967188, 5.246172],
        [532003.871563, 2500205.188906, 10.000313],
        [531848.392813, 2499972.578281, 15.999375],
        [531696.177656, 2499822.553359, 20.999688],
        [531667.487969, 2499666.847656, 25.999375],
        [531724.471406, 2499559.645781, 30],
        [531815.194531, 2499484.228281, 35.999375],
        [531965.538125, 2499470.073047, 40],
        [532081.655156, 2499498.429844, 45.999688],
        [532270.5375, 2499626.371641, 50.999375],
        [532389.0875, 2499723.836406, 50.999375],
        [532449.006875, 2499866.344766, 45.999688],
        [532412.390625, 2499952.549531, 40],
        [532361.0775, 2500068.931406, 35.999688],
        [532275.113125, 2500145.888281, 30],
        [532181.818594, 2500201.807344, 20.999688],
        [532150.39125, 2500281.196406, 10.999688],
        [532111.119844, 2500302.326875, 5],
        [532110.769531, 2500377.610313, 0.999844]
      ], //构成折线的坐标点数组
      coordinateType: 0, //坐标系类型，取值范围：0为Projection类型，1为WGS84类型，2为火星坐标系(GCJ02)，3为百度坐标系(BD09)，默认值：0
      range: [1, 10000000], //可视范围：[近裁距离, 远裁距离]，取值范围: [任意负值, 任意正值]
      thickness: 250, //折线宽度
      intensity: 2,
      color: colors[1],
      shape: 1, //折线类型 0：直线， 1：曲线  注意：设置为曲线非常影响添加效率
      depthTest: false, //是否做深度检测 开启后会被地形高度遮挡
      style: 6, //折线样式 参考样式枚举：PolylineStyle
      tiling: 0, //材质贴图平铺比例
      userData: JSON.stringify({
        id: 144,
        airspaceName: '大梅沙观光航线',
        运营单位: '鹍航智能',
        飞行器类型: 'eVtol',
        飞行器型号: '亿航216'
      })
    },
    {
      id: 'hangxian' + 15, //折线唯一标识id
      lineType: '载人通勤',
      groupId: 'hangxian-2',
      coordinates: [
        [529209.0225, 2499493.6725, 388.0675],
        [528525.87875, 2496959.5825, 305.14],
        [525570.11, 2495856.858437, 310.1825],
        [522817.38, 2495548.777813, 333.9275],
        [517871.639375, 2496394.89875, 350.105],
        [515847.718438, 2496094.647188, 304.185],
        [511969.290625, 2493660.538984, 334.8475],
        [510440.998125, 2493631.882031, 304.8925],
        [509219.929375, 2493612.690469, 308.345],
        [505781.18, 2492332.110547, 305.595625]
      ], //构成折线的坐标点数组
      coordinateType: 0, //坐标系类型，取值范围：0为Projection类型，1为WGS84类型，2为火星坐标系(GCJ02)，3为百度坐标系(BD09)，默认值：0
      range: [1, 10000000], //可视范围：[近裁距离, 远裁距离]，取值范围: [任意负值, 任意正值]
      thickness: 500, //折线宽度
      material: '/JC_CustomAssets/PolylineLibrary/Exhibition/混合线_5', //自定义材质路径 设置后style相关参数会失效
      scalarParameters: [
        { name: '亮度1', value: 10 },
        { name: '速度', value: 0.1 },
        { name: 'U缩放', value: 1 },
        { name: 'V缩放', value: 500 }
      ], //材质数值类型参数
      vectorParameters: [], //材质数组类型参数
      intensity: 0.3,
      color: colors[2],
      shape: 1, //折线类型 0：直线， 1：曲线  注意：设置为曲线非常影响添加效率
      depthTest: false, //是否做深度检测 开启后会被地形高度遮挡
      style: 6, //折线样式 参考样式枚举：PolylineStyle
      tiling: 10, //材质贴图平铺比例
      userData: JSON.stringify({
        id: 144,
        airspaceName: '盐田-福田直升机通勤航线',
        运营单位: '东部通航',
        飞行器类型: '直升机',
        飞行器型号: '空客EC135',
        起点: '盐田直升机基地',
        终点: '福田大中华'
      })
    },
    {
      id: 'hangxian' + 16, //折线唯一标识id
      lineType: '载人通勤',
      groupId: 'hangxian-2',
      coordinates: [
        [529239.156875, 2499542.800625, 384.26125],
        [527972.121875, 2498065.663125, 319.555],
        [524052.048125, 2501608.17875, 346.145],
        [520969.93125, 2504158.725938, 373.2625],
        [505662.7, 2505959.896875, 377.7925]
      ], //构成折线的坐标点数组
      coordinateType: 0, //坐标系类型，取值范围：0为Projection类型，1为WGS84类型，2为火星坐标系(GCJ02)，3为百度坐标系(BD09)，默认值：0
      range: [1, 10000000], //可视范围：[近裁距离, 远裁距离]，取值范围: [任意负值, 任意正值]
      thickness: 500, //折线宽度
      intensity: 0.3,
      color: colors[2],
      material: '/JC_CustomAssets/PolylineLibrary/Exhibition/混合线_5', //自定义材质路径 设置后style相关参数会失效
      scalarParameters: [
        { name: '亮度1', value: 10 },
        { name: '速度', value: 0.1 },
        { name: 'U缩放', value: 1 },
        { name: 'V缩放', value: 500 }
      ], //材质数值类型参数
      vectorParameters: [], //材质数组类型参数
      shape: 1, //折线类型 0：直线， 1：曲线  注意：设置为曲线非常影响添加效率
      depthTest: false, //是否做深度检测 开启后会被地形高度遮挡
      style: 6, //折线样式 参考样式枚举：PolylineStyle
      tiling: 0, //材质贴图平铺比例
      userData: JSON.stringify({
        id: 144,
        airspaceName: '盐田-坂田直升机通勤航线',
        运营单位: '东部通航',
        飞行器类型: '直升机',
        飞行器型号: '空客EC135',
        起点: '盐田直升机基地',
        终点: '坂田华为基地'
      })
    },
    {
      id: 'hangxian' + 17, //折线唯一标识id
      lineType: '载人通勤',
      groupId: 'hangxian-2',
      coordinates: [
        [529195.62125, 2499516.443437, 381.313125],
        [529843.970625, 2497248.892813, 300],
        [530840.025, 2497929.595, 310.3175],
        [531006.166875, 2499600.193594, 308.52],
        [532238.6375, 2500461.159141, 312.2075],
        [532665.38125, 2500051.971172, 318.44],
        [538537.5325, 2501639.234297, 304.54],
        [540229.969375, 2502002.720234, 328.9075],
        [541233.296875, 2505002.375625, 367.925],
        [537178.73125, 2512723.17375, 339.685]
      ], //构成折线的坐标点数组
      coordinateType: 0, //坐标系类型，取值范围：0为Projection类型，1为WGS84类型，2为火星坐标系(GCJ02)，3为百度坐标系(BD09)，默认值：0
      range: [1, 10000000], //可视范围：[近裁距离, 远裁距离]，取值范围: [任意负值, 任意正值]
      thickness: 500, //折线宽度
      intensity: 0.3,
      color: colors[2],
      material: '/JC_CustomAssets/PolylineLibrary/Exhibition/混合线_5', //自定义材质路径 设置后style相关参数会失效
      scalarParameters: [
        { name: '亮度1', value: 10 },
        { name: '速度', value: 0.1 },
        { name: 'U缩放', value: 1 },
        { name: 'V缩放', value: 500 }
      ], //材质数值类型参数
      vectorParameters: [], //材质数组类型参数
      shape: 1, //折线类型 0：直线， 1：曲线  注意：设置为曲线非常影响添加效率
      depthTest: false, //是否做深度检测 开启后会被地形高度遮挡
      style: 6, //折线样式 参考样式枚举：PolylineStyle
      tiling: 0, //材质贴图平铺比例
      userData: JSON.stringify({
        id: 144,
        airspaceName: '盐田-坪山直升机通勤航线',
        运营单位: '东部通航',
        飞行器类型: '直升机',
        飞行器型号: '空客EC135',
        起点: '盐田直升机基地',
        终点: '坪山燕子湖'
      })
    },
    {
      id: 'hangxian' + 18, //折线唯一标识id
      lineType: '载人通勤',
      groupId: 'hangxian-2',
      coordinates: [
        [529216.02625, 2499605.88125, 382.23375],
        [529696.52875, 2504187.61125, 376.205],
        [524417.5175, 2513736.9975, 347.515]
      ], //构成折线的坐标点数组
      coordinateType: 0, //坐标系类型，取值范围：0为Projection类型，1为WGS84类型，2为火星坐标系(GCJ02)，3为百度坐标系(BD09)，默认值：0
      range: [1, 10000000], //可视范围：[近裁距离, 远裁距离]，取值范围: [任意负值, 任意正值]
      material: '/JC_CustomAssets/PolylineLibrary/Exhibition/混合线_5', //自定义材质路径 设置后style相关参数会失效
      scalarParameters: [
        { name: '亮度1', value: 10 },
        { name: '速度', value: 0.1 },
        { name: 'U缩放', value: 1 },
        { name: 'V缩放', value: 500 }
      ], //材质数值类型参数
      vectorParameters: [], //材质数组类型参数
      thickness: 500, //折线宽度
      intensity: 0.3,
      color: colors[2],
      shape: 1, //折线类型 0：直线， 1：曲线  注意：设置为曲线非常影响添加效率
      depthTest: false, //是否做深度检测 开启后会被地形高度遮挡
      style: 6, //折线样式 参考样式枚举：PolylineStyle
      tiling: 0, //材质贴图平铺比例
      userData: JSON.stringify({
        id: 144,
        airspaceName: '盐田-龙岗直升机通勤航线',
        运营单位: '东部通航',
        飞行器类型: '直升机',
        飞行器型号: '空客EC135',
        起点: '盐田直升机基地',
        终点: '龙岗中心城'
      })
    }
  )

  let newLineArr = []

  pArr.forEach((item) => {
    if (
      item.userData.includes('鹍航旅游观光航线') ||
      item.userData.includes('大小梅沙直升机文旅观光航线') ||
      item.userData.includes('大小梅沙eVTOL文旅观光航线') ||
      item.userData.includes('东部通航-')
    ) {
      console.log('')
    } else {
      newLineArr.push(item)
    }
  })
  if (type) newLineArr = newLineArr.filter((item) => item.groupId === type)
  await __g.polyline.add(newLineArr)
  addQidianMarker(type)
  // console.log('%c [ pArr ]-65', 'font-size:13px; background:pink; color:#bf2c9f;', newLineArr)
  //   await __g.polyline.hide('hangxian-1')
}

export function hangxianClear() {
  __g.polyline.clear()
  __g.marker3d.clear()
}

/**
 * 添加起点marker
 */
export const addQidianMarker = async (type) => {
  // __g.marker3d.clear()
  let markerArr = []
  let o = {
    id: 'm1',
    groupId: 'hangxian-2',
    text: '盐田直升机基地', //3D标注显示文字
    textSize: 32, //3D标注显示文字大小
    textColor: '#6BF4F7', //3D标注显示文字颜色
    textOutlineSize: 1, //3D标注显示文字轮廓大小
    textOutlineColor: Color.Black, // 3D标注显示文字轮廓颜色
    textFixed: false, // 3D标注显示文字是否固定文本朝向
    fixedSize: false, // 默认尺寸 非近大远小
    textVisible: true, //3D标注显示文字是否显示文本
    textLocation: [0, 0, 1000], // 文字位置
    textRotation: [0, 90, 0], // 文字旋转
    textScale: [10, 10, 10], // 文字缩放
    pointName: 'Point_B_4', //3D标注展示的特效名称
    pointVisible: true, //3D标注是否显示
    pointScale: 200, //3D标注整体缩放比例
    coordinate: [529209.0225, 2499493.6725, 428.0675], //3D标注的坐标位置 注意：若坐标Z设置高度为0时 autoHeight=true则会显示在物体上方
    coordinateType: 0, //坐标系类型
    range: [1, 100000000], //3D标注的可视距离范围：[min,max]，单位：米
    autoHeight: false //自动判断下方是否有物体，设置正确高度，默认值：false
  }
  markerArr.push(o)

  let o11 = {
    id: 'm11',
    groupId: 'hangxian-2',
    text: '龙港中心城', //3D标注显示文字
    textSize: 32, //3D标注显示文字大小
    textColor: '#6BF4F7', //3D标注显示文字颜色
    textOutlineSize: 1, //3D标注显示文字轮廓大小
    textOutlineColor: Color.Black, // 3D标注显示文字轮廓颜色
    textFixed: false, // 3D标注显示文字是否固定文本朝向
    fixedSize: false, // 默认尺寸 非近大远小
    textVisible: true, //3D标注显示文字是否显示文本
    textLocation: [0, 0, 1000], // 文字位置
    textRotation: [0, 90, 0], // 文字旋转
    textScale: [10, 10, 10], // 文字缩放
    pointName: 'Point_B_4', //3D标注展示的特效名称
    pointVisible: true, //3D标注是否显示
    pointScale: 200, //3D标注整体缩放比例
    coordinate: [524357.01, 2513972.48, 48.169921875], //3D标注的坐标位置 注意：若坐标Z设置高度为0时 autoHeight=true则会显示在物体上方
    coordinateType: 0, //坐标系类型
    range: [1, 100000000], //3D标注的可视距离范围：[min,max]，单位：米
    autoHeight: false //自动判断下方是否有物体，设置正确高度，默认值：false
  }
  markerArr.push(o11)

  let o12 = {
    id: 'm12',
    groupId: 'hangxian-2',
    text: '坂田华为基地', //3D标注显示文字
    textSize: 32, //3D标注显示文字大小
    textColor: '#6BF4F7', //3D标注显示文字颜色
    textOutlineSize: 1, //3D标注显示文字轮廓大小
    textOutlineColor: Color.Black, // 3D标注显示文字轮廓颜色
    textFixed: false, // 3D标注显示文字是否固定文本朝向
    fixedSize: false, // 默认尺寸 非近大远小
    textVisible: true, //3D标注显示文字是否显示文本
    textLocation: [0, 0, 1000], // 文字位置
    textRotation: [0, 90, 0], // 文字旋转
    textScale: [10, 10, 10], // 文字缩放
    pointName: 'Point_B_4', //3D标注展示的特效名称
    pointVisible: true, //3D标注是否显示
    pointScale: 200, //3D标注整体缩放比例
    coordinate: [505608.823125, 2505916.48, 77.958203125], //3D标注的坐标位置 注意：若坐标Z设置高度为0时 autoHeight=true则会显示在物体上方
    coordinateType: 0, //坐标系类型
    range: [1, 100000000], //3D标注的可视距离范围：[min,max]，单位：米
    autoHeight: false //自动判断下方是否有物体，设置正确高度，默认值：false
  }
  markerArr.push(o12)

  let o13 = {
    id: 'm13',
    groupId: 'hangxian-2',
    text: '福田大中华', //3D标注显示文字
    textSize: 32, //3D标注显示文字大小
    textColor: '#6BF4F7', //3D标注显示文字颜色
    textOutlineSize: 1, //3D标注显示文字轮廓大小
    textOutlineColor: Color.Black, // 3D标注显示文字轮廓颜色
    textFixed: false, // 3D标注显示文字是否固定文本朝向
    fixedSize: false, // 默认尺寸 非近大远小
    textVisible: true, //3D标注显示文字是否显示文本
    textLocation: [0, 0, 1000], // 文字位置
    textRotation: [0, 90, 0], // 文字旋转
    textScale: [10, 10, 10], // 文字缩放
    pointName: 'Point_B_4', //3D标注展示的特效名称
    pointVisible: true, //3D标注是否显示
    pointScale: 200, //3D标注整体缩放比例
    coordinate: [505767.53500000003, 2492310.72, 5.429375], //3D标注的坐标位置 注意：若坐标Z设置高度为0时 autoHeight=true则会显示在物体上方
    coordinateType: 0, //坐标系类型
    range: [1, 100000000], //3D标注的可视距离范围：[min,max]，单位：米
    autoHeight: false //自动判断下方是否有物体，设置正确高度，默认值：false
  }
  markerArr.push(o13)

  let o14 = {
    id: 'm14',
    groupId: 'hangxian-2',
    text: '坪山燕子湖', //3D标注显示文字
    textSize: 32, //3D标注显示文字大小
    textColor: '#6BF4F7', //3D标注显示文字颜色
    textOutlineSize: 1, //3D标注显示文字轮廓大小
    textOutlineColor: Color.Black, // 3D标注显示文字轮廓颜色
    textFixed: false, // 3D标注显示文字是否固定文本朝向
    fixedSize: false, // 默认尺寸 非近大远小
    textVisible: true, //3D标注显示文字是否显示文本
    textLocation: [0, 0, 1000], // 文字位置
    textRotation: [0, 90, 0], // 文字旋转
    textScale: [10, 10, 10], // 文字缩放
    pointName: 'Point_B_4', //3D标注展示的特效名称
    pointVisible: true, //3D标注是否显示
    pointScale: 200, //3D标注整体缩放比例
    coordinate: [537156.23, 2512713.6, 39.4815234375], //3D标注的坐标位置 注意：若坐标Z设置高度为0时 autoHeight=true则会显示在物体上方
    coordinateType: 0, //坐标系类型
    range: [1, 100000000], //3D标注的可视距离范围：[min,max]，单位：米
    autoHeight: false //自动判断下方是否有物体，设置正确高度，默认值：false
  }
  markerArr.push(o14)

  let o1 = {
    id: 'm2',
    groupId: 'hangxian-3',
    text: '云海公园', //3D标注显示文字
    textSize: 32, //3D标注显示文字大小
    textColor: [0, 204 / 255, 102 / 255, 1], //3D标注显示文字颜色
    textOutlineSize: 1, //3D标注显示文字轮廓大小
    textOutlineColor: Color.Black, // 3D标注显示文字轮廓颜色
    textFixed: false, // 3D标注显示文字是否固定文本朝向
    fixedSize: false, // 默认尺寸 非近大远小
    textVisible: true, //3D标注显示文字是否显示文本
    textLocation: [0, 0, 500], // 文字位置
    textRotation: [0, 90, 0], // 文字旋转
    textScale: [10, 10, 10], // 文字缩放
    pointName: 'Point_B_4', //3D标注展示的特效名称
    pointVisible: true, //3D标注是否显示
    pointScale: 100, //3D标注整体缩放比例
    coordinate: [527649.6925, 2500256, 377.937578125], //3D标注的坐标位置 注意：若坐标Z设置高度为0时 autoHeight=true则会显示在物体上方
    coordinateType: 0, //坐标系类型
    range: [1, 100000000], //3D标注的可视距离范围：[min,max]，单位：米
    autoHeight: false //自动判断下方是否有物体，设置正确高度，默认值：false
  }
  markerArr.push(o1)

  let o2 = {
    id: 'm3',
    groupId: 'hangxian-3',
    text: '保惠物流园', //3D标注显示文字
    textSize: 32, //3D标注显示文字大小
    textColor: [0, 204 / 255, 102 / 255, 1], //3D标注显示文字颜色
    textOutlineSize: 1, //3D标注显示文字轮廓大小
    textOutlineColor: Color.Black, // 3D标注显示文字轮廓颜色
    textFixed: false, // 3D标注显示文字是否固定文本朝向
    fixedSize: false, // 默认尺寸 非近大远小
    textVisible: true, //3D标注显示文字是否显示文本
    textLocation: [0, 0, 500], // 文字位置
    textRotation: [0, 90, 0], // 文字旋转
    textScale: [10, 10, 10], // 文字缩放
    pointName: 'Point_B_4', //3D标注展示的特效名称
    pointVisible: true, //3D标注是否显示
    pointScale: 100, //3D标注整体缩放比例
    coordinate: [525379.36, 2498800.64, 407.30140625], //3D标注的坐标位置 注意：若坐标Z设置高度为0时 autoHeight=true则会显示在物体上方
    coordinateType: 0, //坐标系类型
    range: [1, 100000000], //3D标注的可视距离范围：[min,max]，单位：米
    autoHeight: false //自动判断下方是否有物体，设置正确高度，默认值：false
  }
  markerArr.push(o2)

  let o3 = {
    id: 'm4',
    groupId: 'hangxian-3',
    text: '壹海城', //3D标注显示文字
    textSize: 32, //3D标注显示文字大小
    textColor: [0, 204 / 255, 102 / 255, 1], //3D标注显示文字颜色
    textOutlineSize: 1, //3D标注显示文字轮廓大小
    textOutlineColor: Color.Black, // 3D标注显示文字轮廓颜色
    textFixed: false, // 3D标注显示文字是否固定文本朝向
    fixedSize: false, // 默认尺寸 非近大远小
    textVisible: true, //3D标注显示文字是否显示文本
    textLocation: [0, 0, 500], // 文字位置
    textRotation: [0, 90, 0], // 文字旋转
    textScale: [10, 10, 10], // 文字缩放
    pointName: 'Point_B_4', //3D标注展示的特效名称
    pointVisible: true, //3D标注是否显示
    pointScale: 100, //3D标注整体缩放比例
    coordinate: [524045.4, 2495181.6, 299.99984375], //3D标注的坐标位置 注意：若坐标Z设置高度为0时 autoHeight=true则会显示在物体上方
    coordinateType: 0, //坐标系类型
    range: [1, 100000000], //3D标注的可视距离范围：[min,max]，单位：米
    autoHeight: false //自动判断下方是否有物体，设置正确高度，默认值：false
  }
  markerArr.push(o3)

  let o4 = {
    id: 'm5',
    groupId: 'hangxian-3',
    text: '恩上公园', //3D标注显示文字
    textSize: 32, //3D标注显示文字大小
    textColor: [0, 204 / 255, 102 / 255, 1], //3D标注显示文字颜色
    textOutlineSize: 1, //3D标注显示文字轮廓大小
    textOutlineColor: Color.Black, // 3D标注显示文字轮廓颜色
    textFixed: false, // 3D标注显示文字是否固定文本朝向
    fixedSize: false, // 默认尺寸 非近大远小
    textVisible: true, //3D标注显示文字是否显示文本
    textLocation: [0, 0, 500], // 文字位置
    textRotation: [0, 90, 0], // 文字旋转
    textScale: [10, 10, 10], // 文字缩放
    pointName: 'Point_B_4', //3D标注展示的特效名称
    pointVisible: true, //3D标注是否显示
    pointScale: 100, //3D标注整体缩放比例
    coordinate: [524075.59500000003, 2497048.8000000003, 300.000078125], //3D标注的坐标位置 注意：若坐标Z设置高度为0时 autoHeight=true则会显示在物体上方
    coordinateType: 0, //坐标系类型
    range: [1, 100000000], //3D标注的可视距离范围：[min,max]，单位：米
    autoHeight: false //自动判断下方是否有物体，设置正确高度，默认值：false
  }
  markerArr.push(o4)

  let o5 = {
    id: 'm6',
    groupId: 'hangxian-3',
    text: '大梅沙海滨公园', //3D标注显示文字
    textSize: 32, //3D标注显示文字大小
    textColor: [0, 204 / 255, 102 / 255, 1], //3D标注显示文字颜色
    textOutlineSize: 1, //3D标注显示文字轮廓大小
    textOutlineColor: Color.Black, // 3D标注显示文字轮廓颜色
    textFixed: false, // 3D标注显示文字是否固定文本朝向
    fixedSize: false, // 默认尺寸 非近大远小
    textVisible: true, //3D标注显示文字是否显示文本
    textLocation: [0, 0, 500], // 文字位置
    textRotation: [0, 90, 0], // 文字旋转
    textScale: [10, 10, 10], // 文字缩放
    pointName: 'Point_B_4', //3D标注展示的特效名称
    pointVisible: true, //3D标注是否显示
    pointScale: 100, //3D标注整体缩放比例
    coordinate: [531161.26, 2499560.64, 308.52414062500003], //3D标注的坐标位置 注意：若坐标Z设置高度为0时 autoHeight=true则会显示在物体上方
    coordinateType: 0, //坐标系类型
    range: [1, 100000000], //3D标注的可视距离范围：[min,max]，单位：米
    autoHeight: false //自动判断下方是否有物体，设置正确高度，默认值：false
  }
  markerArr.push(o5)

  // __g.marker.deleteByGroupId('markerAdd')

  let newMarkerArr = []
  //支持经纬度坐标和普通投影坐标两种类型
  let marker1 = {
    id: 'marker1',
    groupId: 'hangxian-2',
    coordinate: [526951.1900000001, 2496199.04, 306.88687500000003], //坐标位置
    coordinateType: 0, //默认0是投影坐标系，也可以设置为经纬度空间坐标系值为1
    anchors: [-25, 50], //锚点，设置Marker的整体偏移，取值规则和imageSize设置的宽高有关，图片的左上角会对准标注点的坐标位置。示例设置规则：x=-imageSize.width/2，y=imageSize.height
    imageSize: [50, 50], //图片的尺寸
    hoverImageSize: [50, 50], //鼠标悬停时显示的图片尺寸
    range: [0, 10000000], //可视范围
    viewHeightRange: [0, 1000000], // 可见高度范围
    rangeRatio: 0.01, //可见高度范围的调整系数
    fixedSize: true, //图片固定尺寸，取值范围：false 自适应，近大远小，true 固定尺寸，默认值：false
    text: '航线:盐田-福田\n运营单位:东部通航', //显示的文字
    useTextAnimation: false, //关闭文字展开动画效果 打开会影响效率
    textRange: [1, 1000], //文本可视范围[近裁距离, 远裁距离]
    textOffset: [0, 0], // 文本偏移
    textBackgroundColor: [0, 102 / 255, 204 / 255, 0.5], //文本背景颜色
    fontSize: 12, //字体大小
    fontOutlineSize: 1, //字体轮廓线大小
    fontColor: Color.White, //字体颜色
    // fontOutlineColor: Color.Black, //字体轮廓线颜色

    autoHidePopupWindow: true, //失去焦点后是否自动关闭弹出窗口
    autoHeight: false, // 自动判断下方是否有物体
    displayMode: 4, //智能显示模式  开发过程中请根据业务需求判断使用四种显示模式
    clusterByImage: true, // 聚合时是否根据图片路径分类，即当多个marker的imagePath路径参数相同时按路径对marker分类聚合
    priority: 0, //避让优先级
    occlusionCull: false //是否参与遮挡剔除
  }

  newMarkerArr.push(marker1)

  let marker2 = {
    id: 'marker2',
    groupId: 'hangxian-2',
    coordinate: [524362.9725, 2501306.56, 343.6575], //坐标位置
    coordinateType: 0, //默认0是投影坐标系，也可以设置为经纬度空间坐标系值为1
    anchors: [-25, 50], //锚点，设置Marker的整体偏移，取值规则和imageSize设置的宽高有关，图片的左上角会对准标注点的坐标位置。示例设置规则：x=-imageSize.width/2，y=imageSize.height
    imageSize: [50, 50], //图片的尺寸
    hoverImageSize: [50, 50], //鼠标悬停时显示的图片尺寸
    range: [0, 10000000], //可视范围
    viewHeightRange: [0, 1000000], // 可见高度范围
    rangeRatio: 0.01, //可见高度范围的调整系数
    fixedSize: true, //图片固定尺寸，取值范围：false 自适应，近大远小，true 固定尺寸，默认值：false
    text: '航线:盐田-坂田\n运营单位:东部通航', //显示的文字
    useTextAnimation: false, //关闭文字展开动画效果 打开会影响效率
    textRange: [1, 1000], //文本可视范围[近裁距离, 远裁距离]
    textOffset: [0, 0], // 文本偏移
    textBackgroundColor: [0, 102 / 255, 204 / 255, 0.5], //文本背景颜色
    fontSize: 12, //字体大小
    fontOutlineSize: 1, //字体轮廓线大小
    fontColor: Color.White, //字体颜色
    // fontOutlineColor: Color.Black, //字体轮廓线颜色

    autoHidePopupWindow: true, //失去焦点后是否自动关闭弹出窗口
    autoHeight: false, // 自动判断下方是否有物体
    displayMode: 4, //智能显示模式  开发过程中请根据业务需求判断使用四种显示模式
    clusterByImage: true, // 聚合时是否根据图片路径分类，即当多个marker的imagePath路径参数相同时按路径对marker分类聚合
    priority: 0, //避让优先级
    occlusionCull: false //是否参与遮挡剔除
  }

  newMarkerArr.push(marker2)

  let marker3 = {
    id: 'marker3',
    groupId: 'hangxian-2',
    coordinate: [529665.335, 2502292.16, 445.1075], //坐标位置
    coordinateType: 0, //默认0是投影坐标系，也可以设置为经纬度空间坐标系值为1
    anchors: [-25, 50], //锚点，设置Marker的整体偏移，取值规则和imageSize设置的宽高有关，图片的左上角会对准标注点的坐标位置。示例设置规则：x=-imageSize.width/2，y=imageSize.height
    imageSize: [50, 50], //图片的尺寸
    hoverImageSize: [50, 50], //鼠标悬停时显示的图片尺寸
    range: [0, 10000000], //可视范围
    viewHeightRange: [0, 1000000], // 可见高度范围
    rangeRatio: 0.01, //可见高度范围的调整系数
    fixedSize: true, //图片固定尺寸，取值范围：false 自适应，近大远小，true 固定尺寸，默认值：false
    text: '航线:盐田-龙岗\n运营单位:东部通航', //显示的文字
    useTextAnimation: false, //关闭文字展开动画效果 打开会影响效率
    textRange: [1, 1000], //文本可视范围[近裁距离, 远裁距离]
    textOffset: [0, 0], // 文本偏移
    textBackgroundColor: [0, 102 / 255, 204 / 255, 0.5], //文本背景颜色
    fontSize: 12, //字体大小
    fontOutlineSize: 1, //字体轮廓线大小
    fontColor: Color.White, //字体颜色
    // fontOutlineColor: Color.Black, //字体轮廓线颜色

    autoHidePopupWindow: true, //失去焦点后是否自动关闭弹出窗口
    autoHeight: false, // 自动判断下方是否有物体
    displayMode: 4, //智能显示模式  开发过程中请根据业务需求判断使用四种显示模式
    clusterByImage: true, // 聚合时是否根据图片路径分类，即当多个marker的imagePath路径参数相同时按路径对marker分类聚合
    priority: 0, //避让优先级
    occlusionCull: false //是否参与遮挡剔除
  }

  newMarkerArr.push(marker3)

  let marker4 = {
    id: 'marker4',
    groupId: 'hangxian-2',
    coordinate: [533931.5650000001, 2500339.52, 315.31875], //坐标位置
    coordinateType: 0, //默认0是投影坐标系，也可以设置为经纬度空间坐标系值为1
    anchors: [-25, 50], //锚点，设置Marker的整体偏移，取值规则和imageSize设置的宽高有关，图片的左上角会对准标注点的坐标位置。示例设置规则：x=-imageSize.width/2，y=imageSize.height
    imageSize: [50, 50], //图片的尺寸
    hoverImageSize: [50, 50], //鼠标悬停时显示的图片尺寸
    range: [0, 10000000], //可视范围
    viewHeightRange: [0, 1000000], // 可见高度范围
    rangeRatio: 0.01, //可见高度范围的调整系数
    fixedSize: true, //图片固定尺寸，取值范围：false 自适应，近大远小，true 固定尺寸，默认值：false
    text: '航线:盐田-坪山\n运营单位:东部通航', //显示的文字
    useTextAnimation: false, //关闭文字展开动画效果 打开会影响效率
    textRange: [1, 1000], //文本可视范围[近裁距离, 远裁距离]
    textOffset: [0, 0], // 文本偏移
    textBackgroundColor: [0, 102 / 255, 204 / 255, 0.5], //文本背景颜色
    fontSize: 12, //字体大小
    fontOutlineSize: 1, //字体轮廓线大小
    fontColor: Color.White, //字体颜色
    // fontOutlineColor: Color.Black, //字体轮廓线颜色

    autoHidePopupWindow: true, //失去焦点后是否自动关闭弹出窗口
    autoHeight: false, // 自动判断下方是否有物体
    displayMode: 4, //智能显示模式  开发过程中请根据业务需求判断使用四种显示模式
    clusterByImage: true, // 聚合时是否根据图片路径分类，即当多个marker的imagePath路径参数相同时按路径对marker分类聚合
    priority: 0, //避让优先级
    occlusionCull: false //是否参与遮挡剔除
  }

  newMarkerArr.push(marker4)

  let marker5 = {
    id: 'marker5',
    groupId: 'hangxian-3',
    coordinate: [526453.2175, 2499518.72, 328.690625], //坐标位置
    coordinateType: 0, //默认0是投影坐标系，也可以设置为经纬度空间坐标系值为1
    anchors: [-25, 50], //锚点，设置Marker的整体偏移，取值规则和imageSize设置的宽高有关，图片的左上角会对准标注点的坐标位置。示例设置规则：x=-imageSize.width/2，y=imageSize.height
    imageSize: [50, 50], //图片的尺寸
    hoverImageSize: [50, 50], //鼠标悬停时显示的图片尺寸
    range: [0, 10000000], //可视范围
    viewHeightRange: [0, 1000000], // 可见高度范围
    rangeRatio: 0.01, //可见高度范围的调整系数
    fixedSize: true, //图片固定尺寸，取值范围：false 自适应，近大远小，true 固定尺寸，默认值：false
    text: '航线:保惠-云海\n运营单位:保惠物流', //显示的文字
    useTextAnimation: false, //关闭文字展开动画效果 打开会影响效率
    textRange: [1, 1000], //文本可视范围[近裁距离, 远裁距离]
    textOffset: [0, 0], // 文本偏移
    textBackgroundColor: [34 / 255, 139 / 255, 34 / 255, 0.5], //文本背景颜色
    fontSize: 8, //字体大小
    fontOutlineSize: 1, //字体轮廓线大小
    fontColor: Color.White, //字体颜色
    // fontOutlineColor: Color.Black, //字体轮廓线颜色

    autoHidePopupWindow: true, //失去焦点后是否自动关闭弹出窗口
    autoHeight: false, // 自动判断下方是否有物体
    displayMode: 4, //智能显示模式  开发过程中请根据业务需求判断使用四种显示模式
    clusterByImage: true, // 聚合时是否根据图片路径分类，即当多个marker的imagePath路径参数相同时按路径对marker分类聚合
    priority: 0, //避让优先级
    occlusionCull: false //是否参与遮挡剔除
  }

  newMarkerArr.push(marker5)

  let marker6 = {
    id: 'marker6',
    groupId: 'hangxian-3',
    coordinate: [524000.85250000004, 2496233.44, 300], //坐标位置
    coordinateType: 0, //默认0是投影坐标系，也可以设置为经纬度空间坐标系值为1
    anchors: [-25, 50], //锚点，设置Marker的整体偏移，取值规则和imageSize设置的宽高有关，图片的左上角会对准标注点的坐标位置。示例设置规则：x=-imageSize.width/2，y=imageSize.height
    imageSize: [50, 50], //图片的尺寸
    hoverImageSize: [50, 50], //鼠标悬停时显示的图片尺寸
    range: [0, 10000000], //可视范围
    viewHeightRange: [0, 1000000], // 可见高度范围
    rangeRatio: 0.01, //可见高度范围的调整系数
    fixedSize: true, //图片固定尺寸，取值范围：false 自适应，近大远小，true 固定尺寸，默认值：false
    text: '航线:壹海城-恩上\n运营单位:云卓智能', //显示的文字
    useTextAnimation: false, //关闭文字展开动画效果 打开会影响效率
    textRange: [1, 1000], //文本可视范围[近裁距离, 远裁距离]
    textOffset: [0, 0], // 文本偏移
    textBackgroundColor: [34 / 255, 139 / 255, 34 / 255, 0.5], //文本背景颜色
    fontSize: 8, //字体大小
    fontOutlineSize: 1, //字体轮廓线大小
    fontColor: Color.White, //字体颜色
    // fontOutlineColor: Color.Black, //字体轮廓线颜色

    autoHidePopupWindow: true, //失去焦点后是否自动关闭弹出窗口
    autoHeight: false, // 自动判断下方是否有物体
    displayMode: 4, //智能显示模式  开发过程中请根据业务需求判断使用四种显示模式
    clusterByImage: true, // 聚合时是否根据图片路径分类，即当多个marker的imagePath路径参数相同时按路径对marker分类聚合
    priority: 0, //避让优先级
    occlusionCull: false //是否参与遮挡剔除
  }

  newMarkerArr.push(marker6)

  let marker7 = {
    id: 'marker7',
    groupId: 'hangxian-3',
    coordinate: [530547.8150000001, 2496728.96, 299.9925], //坐标位置
    coordinateType: 0, //默认0是投影坐标系，也可以设置为经纬度空间坐标系值为1
    anchors: [-25, 50], //锚点，设置Marker的整体偏移，取值规则和imageSize设置的宽高有关，图片的左上角会对准标注点的坐标位置。示例设置规则：x=-imageSize.width/2，y=imageSize.height
    imageSize: [50, 50], //图片的尺寸
    hoverImageSize: [50, 50], //鼠标悬停时显示的图片尺寸
    range: [0, 10000000], //可视范围
    viewHeightRange: [0, 1000000], // 可见高度范围
    rangeRatio: 0.01, //可见高度范围的调整系数
    fixedSize: true, //图片固定尺寸，取值范围：false 自适应，近大远小，true 固定尺寸，默认值：false
    text: '航线:壹海城-大梅沙\n运营单位:云卓智能', //显示的文字
    useTextAnimation: false, //关闭文字展开动画效果 打开会影响效率
    textRange: [1, 1000], //文本可视范围[近裁距离, 远裁距离]
    textOffset: [0, 0], // 文本偏移
    textBackgroundColor: [34 / 255, 139 / 255, 34 / 255, 0.5], //文本背景颜色
    fontSize: 8, //字体大小
    fontOutlineSize: 1, //字体轮廓线大小
    fontColor: Color.White, //字体颜色
    // fontOutlineColor: Color.Black, //字体轮廓线颜色

    autoHidePopupWindow: true, //失去焦点后是否自动关闭弹出窗口
    autoHeight: false, // 自动判断下方是否有物体
    displayMode: 4, //智能显示模式  开发过程中请根据业务需求判断使用四种显示模式
    clusterByImage: true, // 聚合时是否根据图片路径分类，即当多个marker的imagePath路径参数相同时按路径对marker分类聚合
    priority: 0, //避让优先级
    occlusionCull: false //是否参与遮挡剔除
  }

  newMarkerArr.push(marker7)

  console.log('type------------->', type)
  if (type) markerArr = markerArr.filter((item) => item.groupId === type)
  if (type) newMarkerArr = newMarkerArr.filter((item) => item.groupId === type)
  console.log('markerArr------------->', markerArr)
  console.log('newMarkerArr------------->', newMarkerArr)
  await __g.marker3d.add(markerArr)
  await __g.marker3d.callBPFunction([
    {
      id: 'm2',
      functionName: '颜色',
      parameters: [{ paramType: 6, paramValue: [0, 204 / 255, 102 / 255, 1] }]
    },
    {
      id: 'm3',
      functionName: '颜色',
      parameters: [{ paramType: 6, paramValue: [0, 204 / 255, 102 / 255, 1] }]
    },
    {
      id: 'm4',
      functionName: '颜色',
      parameters: [{ paramType: 6, paramValue: [0, 204 / 255, 102 / 255, 1] }]
    },
    {
      id: 'm5',
      functionName: '颜色',
      parameters: [{ paramType: 6, paramValue: [0, 204 / 255, 102 / 255, 1] }]
    },
    {
      id: 'm6',
      functionName: '颜色',
      parameters: [{ paramType: 6, paramValue: [0, 204 / 255, 102 / 255, 1] }]
    }
  ])

  await __g.marker.add(newMarkerArr)
}
